﻿' NOTA: puede usar el comando "Cambiar nombre" del menú contextual para cambiar el nombre de interfaz "IService1" en el código y en el archivo de configuración a la vez.
<ServiceContract()>
Public Interface IService1

    <OperationContract()>
    Function GetData(ByVal value As Integer) As String

    <OperationContract()>
    Function GetDataUsingDataContract(ByVal composite As CompositeType) As CompositeType

    ' TODO: agregue aquí sus operaciones de servicio

    <OperationContract()>
    Function obtenerAgenciaTransporteDBF(agencia As String) As Agencia

    <OperationContract()>
    Function obtenerArticulo(codVendedor As String, empresa As String, certificado As String, articulo As String) As Articulo

    <OperationContract()>
    Function obtenerArticulosEsp(busqueda As String) As Articulo()

    <OperationContract()>
    Function obtenerCliente(cliente As String) As Cliente

    <OperationContract()>
    Function obtenerCondicionVenta(cnvCodigo As String) As CondicionVenta

    <OperationContract()>
    Function obtenerFormaPago(fopCodigo As String) As FormaPago

    <OperationContract()>
    Function obtenerMoneda(monCodigo As String) As Moneda

    <OperationContract()>
    Function obtenerVendedor(venCodigo As String) As Vendedor

    <OperationContract()>
    Function obtenerTipoDocumento(tdocCodigo As String) As TipoDocumento

    <OperationContract()>
    Function obtenerUbigeo(codDistrito As String) As Distrito

    <OperationContract()>
    Function obtenerDocumentoCliente(nroPedido As String) As DocumentoCliente

    <OperationContract()>
    Function obtenerCorrelativoVendedor(ByVal codVendedor As String) As Integer

    <OperationContract()>
    Function actualizarCorrelativoVendedor(ByVal codVendedor As String) As Boolean

    <OperationContract()>
    Function obtenerStockArticulo(ByVal codArticulo As String) As Double

    <OperationContract()>
    Function registrarDocumentoCliente(ByVal nroPedido As String, ByVal codCliente As String, ByVal fechaPedido As String, ByVal horaPedido As String, _
        ByVal condicion As String, ByVal docEmision As String, ByVal moneda As String, ByVal listaPrecio As String) As Boolean

    '<OperationContract()>
    'Function registrarPedidoDetalle(ByVal nroPedido As String, ByVal solicitado As Double, ByVal atendido As Double, ByVal artCodigo As String, _
    '    ByVal descCondicion As Double, ByVal descuento As Double, ByVal regalo As String, ByVal precRegalo As String, ByVal vendedor As String, _
    '    ByVal tasaPercepcion As Double, ByVal moneda As String, ByVal listaPrecio As String) As Boolean

    <OperationContract()>
    Function obtenerNvoPrecio(ByVal arti As Articulo, ByVal listaPrecio As String, ByVal moneda As String) As Double

    <OperationContract()>
    Function obtenerDsto(ByVal articulo As String, ByVal cantidad As Double) As Double

    <OperationContract()>
    Function eliminarDocumentoClienteDetalle(ByVal nroPedido As String, ByVal artCodigo As String, ByVal cantidad As Double) As Boolean

    '<OperationContract()>
    'Function actualizarDocumentoCliente(ByVal nroPedido As String, ByVal fecha As String, ByVal hora As String, ByVal codCliente As String, _
    'ByVal status As String, ByVal direccionEntrega As String, ByVal totalBruto As Double, ByVal totalNeto As Double, ByVal total As Double, _
    'ByVal dsctoCondicion As Double, ByVal dsctoArticulo As Double, ByVal condicion As String, ByVal formaPago As String, ByVal codTrans As String, _
    'ByVal observacion As String, ByVal obsCredito As String, ByVal totalAtendido As Double, ByVal cancela As String, ByVal mnd As String, _
    'ByVal incPromo As String, ByVal dsctoExcedido As String, ByVal totCobrar As Double, ByVal moneda As String, ByVal listaPrecio As String) As Boolean

    '<OperationContract()>
    'Function actualizarDocumentoClienteDetalle(ByVal nroPedido As String, ByVal solicitado As Double, ByVal atendido As Double, ByVal articuloId As String, _
    '    ByVal descCondicion As Double, ByVal descuento As Double, ByVal regalo As String, ByVal precRegalo As String, ByVal vendedor As String, _
    '    ByVal tasaPercepcion As Double, ByVal atendidoAnt As Double) As Boolean

    <OperationContract()>
    Function anularDocumentoCliente(ByVal nroPedido As String) As Boolean

    <OperationContract()>
    Function registrarDocumentoClienteSQL(dc As DocumentoCliente) As Boolean

    '<OperationContract()>
    'Function registrarDocumentoClienteDetalleSQL(dcd As DocumentoClienteDetalle) As Boolean

    <OperationContract()>
    Function DocumentosDeuda(ByVal cliente As String) As DocumentoCliente()

End Interface

' Utilice un contrato de datos, como se ilustra en el ejemplo siguiente, para agregar tipos compuestos a las operaciones de servicio.

<DataContract()>
Public Class CompositeType

    <DataMember()>
    Public Property BoolValue() As Boolean

    <DataMember()>
    Public Property StringValue() As String

End Class
